Telegram Group & Telegram Channel
Python dasturlash maktabi
Funksiyalar (vazifalar) Oldindan belgilangan funksiyalarni ishlatishdan tashqari, def operatoridan foydalanib o'zingizning funksiyalaringizni yaratishingiz mumkin. Funksiya xuddi o'zgaruvchilarga o'xshab oldin yoziladi va keyin chaqiriladi. Funksiyadagi kod…
Ⓜ️ Pythonda xatolar ustida ishlash (try-except).

Batafsil: https://docs.python.org/3/library/exceptions.html?highlight=exception#Exception

Istisno (Exception) nima?
Istisno - bu dastur normal ish jarayonini buzadigan, dasturni ishga tushirish va ishga tushirgandan keyin sodir bo'ladigan hodisa.Python skripti o'zi hal qila olmaydigan vaziyat yuzaga kelganda, u istisno tug'diradi. Istisno - bu xatoni ifodalovchi Python ob'ekti.Python skriptida istisno tug'ilsa, u darhol tutib qolinishi kerak, aks holda dastur ish faoliyati to'xtaydi.

Istisno holatini ko'rib chiqish
Agar sizda istisnoga olib kelishi mumkin bo'lgan ba'zi bir shubhali kodlar mavjud bo'lsa, siz shubhali kodni try: blokiga joylashtirish orqali dasturingizni himoya qilishingiz mumkin.

Barcha oldindan o'rnatilgan istisnolar asosiy BaseException sinfiga mansub bo'ladi. Bu foydalanuvchi tomonidan belgilangan sinflar tomonidan to'g'ridan-to'g'ri meros qilib olinishi kerak emas, Exception dan foydalanishning o'zi yetarli.

###################

Arifmetik xatoliklarni tekshirish uchun umumiy
ArithmeticError dan yoki ArithmeticError dan meros bo'lib olingan FloatingPointError, OverflowError, ZeroDivisionError dan foydalanishingiz mumkin.

Sonlarni 0 ga bo'lish arifmetik xatolik hisoblanadi.

try:
1/0
except ArithmeticError as e:
print(f"Arifmetik xatolik: {e}, {e.__class__}")

Arifmetik xatolik: division by zero, <class 'ZeroDivisionError'>

#—————————————-#

try:
1 / 0
except ZeroDivisionError as e:
print(f"Nolga bo'lishda xato: {e}, {e.__class__}")

Nolga bo'lishda xato: division by zero, <class 'ZeroDivisionError'>

#—————————————-#

j = 5.0
try:
for i in range(4, 10):
j = j ** i
print(i, j)
except OverflowError as e:
print(f"Haqiqiy son kasr qismi xatoligi: {e}, {e.__class__}")

4 625.0
5 95367431640625.0
6 7.52316384526264e+83
Haqiqiy son kasr qismi xatoligi: (34, 'Result too large'), <class 'OverflowError'>

###################

Pythonda yozilgan dastur asosan 3 holatda AttributeError xatoligini qaytaradi.

1) Noto'g'ri atributga murojaat qilinganida

try:
a = 7
print(type(a))
a.append(42)
except AttributeError:
print("Atribut xatoligi")

<class 'int'>
Atribut xatoligi

try blogi ichidagi a nomli o'zgaruvchi butun son (integer) turiga mansub va bu turdagi o'zgaruvchi o'zida faqat 1 ta sonni saqlashi mumkin.Yuqoridagi kodda 42 sonini ham a nomli o'zgaruvchiga qo'shmoqchi bo'lganimizda dastur AttributeError xatoliginbi qaytardi.


2) Atribut imlo xato bilan yozilganda

satr = "farmat emas format yoziladi { }".farmat("ok")
print(string)

AttributeError: 'str' object has no attribute 'farmat'


3) Sinf uchun mavjud boʻlmagan atribut ma'lumotnomasini berishga harakat qilinganda.

class Pythonuz():
def __init__(self):
self.a = 'Python'


obj = Pythonuz()
print(obj.a)
print(obj.b)

AttributeError: 'Pythonuz' object has no attribute 'b'

###################

Dasturda operatsion yoki fayl tizimlari bilan bog'liq muammolar bo'lsa dastur EnvironmentError xatoligini qaytaradi.

IOError - fayl bilan bog'liq muammolar (File not found, Disk Full) paydo bo'lganda dastur ushbu xatolikni qaytaradi.

import sys
try:
f = open("filename.txt", 'r')
except IOError:
print(sys.exc_info()[0])

<class 'FileNotFoundError'>


OSError - operatsion tizim bilan bog'liq muammolar paydo bo'lganda dastur ushbu xatolikni qaytaradi.

import sys
import pandas as pd
try:
file = pd.read_csv("C:\ttextfile.csv") # \t
except OSError:
print(sys.exc_info()[0])

<class 'OSError'>

###################

Mavjud bo'lmagan modul chaqirilganda dastur ModuleNotFoundError xatoligini qaytaradi
import sys
try:
import request
except ImportError:
print(sys.exc_info()[0])

<class 'ModuleNotFoundError'>

#—————————————-#

Mavjud bo'lgan modul va modul ichidan mavjud bo'lmagan funksiya chaqirilganda dastur ImportError xatoligini qaytaradi
import sys
try:
from time import tim
except ImportError:
print(sys.exc_info()[0])

<class 'ImportError'>

Davomi https://www.tg-me.com/no/Python dasturlash maktabi/com.pythonuz/591

@pythonuz



tg-me.com/pythonuz/590
Create:
Last Update:

Ⓜ️ Pythonda xatolar ustida ishlash (try-except).

Batafsil: https://docs.python.org/3/library/exceptions.html?highlight=exception#Exception

Istisno (Exception) nima?
Istisno - bu dastur normal ish jarayonini buzadigan, dasturni ishga tushirish va ishga tushirgandan keyin sodir bo'ladigan hodisa.Python skripti o'zi hal qila olmaydigan vaziyat yuzaga kelganda, u istisno tug'diradi. Istisno - bu xatoni ifodalovchi Python ob'ekti.Python skriptida istisno tug'ilsa, u darhol tutib qolinishi kerak, aks holda dastur ish faoliyati to'xtaydi.

Istisno holatini ko'rib chiqish
Agar sizda istisnoga olib kelishi mumkin bo'lgan ba'zi bir shubhali kodlar mavjud bo'lsa, siz shubhali kodni try: blokiga joylashtirish orqali dasturingizni himoya qilishingiz mumkin.

Barcha oldindan o'rnatilgan istisnolar asosiy BaseException sinfiga mansub bo'ladi. Bu foydalanuvchi tomonidan belgilangan sinflar tomonidan to'g'ridan-to'g'ri meros qilib olinishi kerak emas, Exception dan foydalanishning o'zi yetarli.

###################

Arifmetik xatoliklarni tekshirish uchun umumiy
ArithmeticError dan yoki ArithmeticError dan meros bo'lib olingan FloatingPointError, OverflowError, ZeroDivisionError dan foydalanishingiz mumkin.

Sonlarni 0 ga bo'lish arifmetik xatolik hisoblanadi.

try:
1/0
except ArithmeticError as e:
print(f"Arifmetik xatolik: {e}, {e.__class__}")

Arifmetik xatolik: division by zero, <class 'ZeroDivisionError'>

#—————————————-#

try:
1 / 0
except ZeroDivisionError as e:
print(f"Nolga bo'lishda xato: {e}, {e.__class__}")

Nolga bo'lishda xato: division by zero, <class 'ZeroDivisionError'>

#—————————————-#

j = 5.0
try:
for i in range(4, 10):
j = j ** i
print(i, j)
except OverflowError as e:
print(f"Haqiqiy son kasr qismi xatoligi: {e}, {e.__class__}")

4 625.0
5 95367431640625.0
6 7.52316384526264e+83
Haqiqiy son kasr qismi xatoligi: (34, 'Result too large'), <class 'OverflowError'>

###################

Pythonda yozilgan dastur asosan 3 holatda AttributeError xatoligini qaytaradi.

1) Noto'g'ri atributga murojaat qilinganida

try:
a = 7
print(type(a))
a.append(42)
except AttributeError:
print("Atribut xatoligi")

<class 'int'>
Atribut xatoligi

try blogi ichidagi a nomli o'zgaruvchi butun son (integer) turiga mansub va bu turdagi o'zgaruvchi o'zida faqat 1 ta sonni saqlashi mumkin.Yuqoridagi kodda 42 sonini ham a nomli o'zgaruvchiga qo'shmoqchi bo'lganimizda dastur AttributeError xatoliginbi qaytardi.


2) Atribut imlo xato bilan yozilganda

satr = "farmat emas format yoziladi { }".farmat("ok")
print(string)

AttributeError: 'str' object has no attribute 'farmat'


3) Sinf uchun mavjud boʻlmagan atribut ma'lumotnomasini berishga harakat qilinganda.

class Pythonuz():
def __init__(self):
self.a = 'Python'


obj = Pythonuz()
print(obj.a)
print(obj.b)

AttributeError: 'Pythonuz' object has no attribute 'b'

###################

Dasturda operatsion yoki fayl tizimlari bilan bog'liq muammolar bo'lsa dastur EnvironmentError xatoligini qaytaradi.

IOError - fayl bilan bog'liq muammolar (File not found, Disk Full) paydo bo'lganda dastur ushbu xatolikni qaytaradi.

import sys
try:
f = open("filename.txt", 'r')
except IOError:
print(sys.exc_info()[0])

<class 'FileNotFoundError'>


OSError - operatsion tizim bilan bog'liq muammolar paydo bo'lganda dastur ushbu xatolikni qaytaradi.

import sys
import pandas as pd
try:
file = pd.read_csv("C:\ttextfile.csv") # \t
except OSError:
print(sys.exc_info()[0])

<class 'OSError'>

###################

Mavjud bo'lmagan modul chaqirilganda dastur ModuleNotFoundError xatoligini qaytaradi
import sys
try:
import request
except ImportError:
print(sys.exc_info()[0])

<class 'ModuleNotFoundError'>

#—————————————-#

Mavjud bo'lgan modul va modul ichidan mavjud bo'lmagan funksiya chaqirilganda dastur ImportError xatoligini qaytaradi
import sys
try:
from time import tim
except ImportError:
print(sys.exc_info()[0])

<class 'ImportError'>

Davomi https://www.tg-me.com/no/Python dasturlash maktabi/com.pythonuz/591

@pythonuz

BY Python dasturlash maktabi




Share with your friend now:
tg-me.com/pythonuz/590

View MORE
Open in Telegram


Python dasturlash maktabi Telegram | DID YOU KNOW?

Date: |

Pinterest (PINS) Stock Sinks As Market Gains

Pinterest (PINS) closed at $71.75 in the latest trading session, marking a -0.18% move from the prior day. This change lagged the S&P 500's daily gain of 0.1%. Meanwhile, the Dow gained 0.9%, and the Nasdaq, a tech-heavy index, lost 0.59%. Heading into today, shares of the digital pinboard and shopping tool company had lost 17.41% over the past month, lagging the Computer and Technology sector's loss of 5.38% and the S&P 500's gain of 0.71% in that time. Investors will be hoping for strength from PINS as it approaches its next earnings release. The company is expected to report EPS of $0.07, up 170% from the prior-year quarter. Our most recent consensus estimate is calling for quarterly revenue of $467.87 million, up 72.05% from the year-ago period.

Telegram Auto-Delete Messages in Any Chat

Some messages aren’t supposed to last forever. There are some Telegram groups and conversations where it’s best if messages are automatically deleted in a day or a week. Here’s how to auto-delete messages in any Telegram chat. You can enable the auto-delete feature on a per-chat basis. It works for both one-on-one conversations and group chats. Previously, you needed to use the Secret Chat feature to automatically delete messages after a set time. At the time of writing, you can choose to automatically delete messages after a day or a week. Telegram starts the timer once they are sent, not after they are read. This won’t affect the messages that were sent before enabling the feature.

Python dasturlash maktabi from no


Telegram Python dasturlash maktabi
FROM USA